package com.class06;

import javax.servlet.*;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

// 自定义过滤器类 ：
//   1. 实现Filter接口 2. 实现Filter接口中的方法
public class LoggingFilter implements Filter {

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        long l = System.currentTimeMillis();
        System.out.println("过滤器开始过滤了，时间是：" + l);
        // 将时间戳转换为Date对象
        Date date = new Date(l);
        // 创建一个SimpleDateFormat对象，并设置所需的时间格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 将Date对象格式化为时间字符串
        String formattedDate = dateFormat.format(date);
        // 打印结果
        System.out.println("放行之前时间为: " + formattedDate);
//        放行
        filterChain.doFilter(servletRequest, servletResponse);
        long l1 = System.currentTimeMillis();
        System.out.println("过滤器结束过滤了，时间是：" + l1);
 // 将时间戳转换为Date对象
        Date date1 = new Date(l1);
        // 将Date对象格式化为时间字符串
        String formattedDate1 = dateFormat.format(date1);
        // 打印结果
        System.out.println("放行之后的时间为: " + formattedDate1);
        System.out.println("请求servletA用了：" + (l1 - l) + "毫秒");

    }
}
